[INFO] cloning repository https://github.com/igor-seleznyov/solidus-ledger-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/igor-seleznyov/solidus-ledger-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Figor-seleznyov%2Fsolidus-ledger-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Figor-seleznyov%2Fsolidus-ledger-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 02f624131645dcd3c9951a101dd8d5e40b02bd8e
[INFO] fixing igor-seleznyov/solidus-ledger-rs against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Figor-seleznyov%2Fsolidus-ledger-rs" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/igor-seleznyov/solidus-ledger-rs
[INFO] finished tweaking git repo https://github.com/igor-seleznyov/solidus-ledger-rs
[INFO] tweaked toml for git repo https://github.com/igor-seleznyov/solidus-ledger-rs written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/igor-seleznyov/solidus-ledger-rs on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/igor-seleznyov/solidus-ledger-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: crates/ringbuf/Cargo.toml: unused manifest key: loom
[INFO] [stderr] warning: `ringbuf` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 493ed67d447641f1b69483b2f8b56c7b12d6858350c413f120f33720f53e6e9d
[INFO] running `Command { std: "docker" "start" "493ed67d447641f1b69483b2f8b56c7b12d6858350c413f120f33720f53e6e9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "493ed67d447641f1b69483b2f8b56c7b12d6858350c413f120f33720f53e6e9d" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "493ed67d447641f1b69483b2f8b56c7b12d6858350c413f120f33720f53e6e9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "493ed67d447641f1b69483b2f8b56c7b12d6858350c413f120f33720f53e6e9d" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr] warning: crates/ringbuf/Cargo.toml: unused manifest key: loom
[INFO] [stderr] warning: `ringbuf` (manifest) generated 1 warning
[INFO] [stderr] warning: solidus-ledger-rs v0.1.0 (/opt/rustwide/workdir) ignoring invalid dependency `integration_tests` which is missing a lib target
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking ringbuf v0.1.0 (/opt/rustwide/workdir/crates/ringbuf)
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking common v0.1.0 (/opt/rustwide/workdir/crates/common)
[INFO] [stderr]    Compiling io-uring v0.7.11
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking uuid v1.22.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]    Compiling generator v0.8.8
[INFO] [stderr]     Checking protocol v0.1.0 (/opt/rustwide/workdir/crates/protocol)
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking pipeline v0.1.0 (/opt/rustwide/workdir/crates/pipeline)
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stdout] warning: unused import: `SLOT_MIGRATING`
[INFO] [stdout]  --> crates/pipeline/src/transfer_slot.rs:1:50
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ringbuf::hash_table_slot_status::{SLOT_FREE, SLOT_MIGRATING};
[INFO] [stdout]   |                                                  ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> crates/pipeline/src/posting_record.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SLOT_MIGRATING`
[INFO] [stdout]  --> crates/pipeline/src/transfer_slot.rs:1:50
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ringbuf::hash_table_slot_status::{SLOT_FREE, SLOT_MIGRATING};
[INFO] [stdout]   |                                                  ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> crates/pipeline/src/posting_record.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_pos`
[INFO] [stdout]    --> crates/pipeline/src/in_flight_min_heap.rs:188:21
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 let final_pos = self.sift_up(pos);
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_pos`
[INFO] [stdout]    --> crates/pipeline/src/in_flight_min_heap.rs:188:21
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 let final_pos = self.sift_up(pos);
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking loom v0.7.2
[INFO] [stdout] warning: unexpected `cfg` condition name: `loom`
[INFO] [stdout]  --> crates/ringbuf/tests/loom_tests.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[cfg(loom)]
[INFO] [stdout]   |       ^^^^ help: found config with similar value: `feature = "loom"`
[INFO] [stdout]   |
[INFO] [stdout]   = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(loom)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(loom)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/ringbuf/src/spsc_ring_buffer.rs:226:12
[INFO] [stdout]     |
[INFO] [stdout] 225 |     impl TestSlot {
[INFO] [stdout]     |     ------------- associated function in this implementation
[INFO] [stdout] 226 |         fn new(value: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking config v0.1.0 (/opt/rustwide/workdir/crates/config)
[INFO] [stdout] warning: unused import: `crate::time_window_config::TimeWindowConfig`
[INFO] [stdout]  --> crates/config/src/config.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::time_window_config::TimeWindowConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::serde::urn::deserialize`
[INFO] [stdout]   --> crates/config/src/parse.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use uuid::serde::urn::deserialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::time_window_config::TimeWindowConfig`
[INFO] [stdout]  --> crates/config/src/config.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::time_window_config::TimeWindowConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::serde::urn::deserialize`
[INFO] [stdout]   --> crates/config/src/parse.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use uuid::serde::urn::deserialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking storage v0.1.0 (/opt/rustwide/workdir/crates/storage)
[INFO] [stderr]     Checking net v0.1.0 (/opt/rustwide/workdir/crates/net)
[INFO] [stdout] warning: unused import: `std::char::MAX`
[INFO] [stdout]  --> crates/storage/src/portable_flush_backend.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::char::MAX;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::make_test_dir::make_test_dir`
[INFO] [stdout]   --> crates/storage/src/ls_writer.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use common::make_test_dir::make_test_dir;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::fd::RawFd`
[INFO] [stdout]  --> crates/storage/src/io_uring_flush_backend.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::os::fd::RawFd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pipeline::posting_record::PostingRecord`
[INFO] [stdout]  --> crates/storage/src/ls_file_header.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use pipeline::posting_record::PostingRecord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sig_record::SigRecord`
[INFO] [stdout]  --> crates/storage/src/ls_sign_file_header.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::sig_record::SigRecord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::crc32c::crc32c`
[INFO] [stdout]  --> crates/storage/src/meta_record.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use common::crc32c::crc32c;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `STORAGE_FILE_TYPE_SIGNATURE`
[INFO] [stdout]  --> crates/storage/src/ed25519_signing_strategy.rs:5:37
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::consts::{FILE_PAGE_SIZE, STORAGE_FILE_TYPE_SIGNATURE};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::crc32c::crc32c`
[INFO] [stdout]  --> crates/storage/src/manifest_entry.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use common::crc32c::crc32c;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manifest_entry::ManifestEntry`
[INFO] [stdout]  --> crates/storage/src/manifest_header.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::manifest_entry::ManifestEntry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CHECKPOINT_FILE_MAGIC`
[INFO] [stdout]  --> crates/storage/src/recovery.rs:4:59
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::checkpoint_file_header::{CheckpointFileHeader, CHECKPOINT_FILE_MAGIC};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ls_file_header::LsFileHeader`
[INFO] [stdout]  --> crates/storage/src/recovery.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::ls_file_header::LsFileHeader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `POSTING_RECORD_MAGIC` and `PostingRecord`
[INFO] [stdout]  --> crates/storage/src/recovery.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use pipeline::posting_record::{PostingRecord, POSTING_RECORD_MAGIC};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::consts::FILE_PAGE_SIZE`
[INFO] [stdout]  --> crates/storage/src/recovery.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::consts::FILE_PAGE_SIZE;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::digest::Update`
[INFO] [stdout]  --> crates/storage/src/signature_verifier.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sha2::digest::Update;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libc::IN_CLOEXEC`
[INFO] [stdout]  --> crates/storage/src/file_watcher.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use libc::IN_CLOEXEC;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tampering_log`
[INFO] [stdout]   --> crates/storage/src/file_watcher.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::tampering_log;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::char::MAX`
[INFO] [stdout]  --> crates/storage/src/portable_flush_backend.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::char::MAX;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::fd::RawFd`
[INFO] [stdout]  --> crates/storage/src/io_uring_flush_backend.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::os::fd::RawFd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]    --> crates/storage/src/io_uring_flush_backend.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     use std::io::Read;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pipeline::posting_record::PostingRecord`
[INFO] [stdout]  --> crates/storage/src/ls_file_header.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use pipeline::posting_record::PostingRecord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sig_record::SigRecord`
[INFO] [stdout]  --> crates/storage/src/ls_sign_file_header.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::sig_record::SigRecord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::crc32c::crc32c`
[INFO] [stdout]  --> crates/storage/src/meta_record.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use common::crc32c::crc32c;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `STORAGE_FILE_TYPE_SIGNATURE`
[INFO] [stdout]  --> crates/storage/src/ed25519_signing_strategy.rs:5:37
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::consts::{FILE_PAGE_SIZE, STORAGE_FILE_TYPE_SIGNATURE};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::crc32c::crc32c`
[INFO] [stdout]  --> crates/storage/src/manifest_entry.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use common::crc32c::crc32c;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::manifest_entry::ManifestEntry`
[INFO] [stdout]  --> crates/storage/src/manifest_header.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::manifest_entry::ManifestEntry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CHECKPOINT_FILE_MAGIC`
[INFO] [stdout]  --> crates/storage/src/recovery.rs:4:59
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::checkpoint_file_header::{CheckpointFileHeader, CHECKPOINT_FILE_MAGIC};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ls_file_header::LsFileHeader`
[INFO] [stdout]  --> crates/storage/src/recovery.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::ls_file_header::LsFileHeader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `POSTING_RECORD_MAGIC` and `PostingRecord`
[INFO] [stdout]  --> crates/storage/src/recovery.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use pipeline::posting_record::{PostingRecord, POSTING_RECORD_MAGIC};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::consts::FILE_PAGE_SIZE`
[INFO] [stdout]  --> crates/storage/src/recovery.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::consts::FILE_PAGE_SIZE;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]    --> crates/storage/src/index_writer.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |     use std::io::Read;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::digest::Update`
[INFO] [stdout]  --> crates/storage/src/signature_verifier.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sha2::digest::Update;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sig_record::SigRecord`
[INFO] [stdout]    --> crates/storage/src/signature_verifier.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     use crate::sig_record::SigRecord;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libc::IN_CLOEXEC`
[INFO] [stdout]  --> crates/storage/src/file_watcher.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use libc::IN_CLOEXEC;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tampering_log`
[INFO] [stdout]   --> crates/storage/src/file_watcher.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::tampering_log;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::digest::DynDigest`
[INFO] [stdout]  --> crates/storage/src/signing_state.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use sha2::digest::DynDigest;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/storage/src/ls_writer.rs:965:13
[INFO] [stdout]     |
[INFO] [stdout] 965 |             unsafe { header.as_bytes_mut() }
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pwrite_done` is assigned to, but never used
[INFO] [stdout]    --> crates/storage/src/io_uring_flush_backend.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |         let mut pwrite_done = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_pwrite_done` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pwrite_done` is never read
[INFO] [stdout]    --> crates/storage/src/io_uring_flush_backend.rs:227:21
[INFO] [stdout]     |
[INFO] [stdout] 227 |                     pwrite_done = true;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_path`
[INFO] [stdout]  --> crates/storage/src/no_metadata_strategy.rs:6:25
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn file_info(&self, file_path: &str) -> Option<(String, usize)> { None }
[INFO] [stdout]   |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_seq`
[INFO] [stdout]  --> crates/storage/src/no_metadata_strategy.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn prepare_header(&mut self, file_seq: u64, max_file_size: u64) -> Option<(*const u8, usize, u64)> { None }
[INFO] [stdout]   |                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_seq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_file_size`
[INFO] [stdout]  --> crates/storage/src/no_metadata_strategy.rs:8:49
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn prepare_header(&mut self, file_seq: u64, max_file_size: u64) -> Option<(*const u8, usize, u64)> { None }
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_file_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/storage/src/recovery.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         unsafe { header.as_bytes_mut() }
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx_header_size`
[INFO] [stdout]   --> crates/storage/src/index_builder.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         idx_header_size: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx_header_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/storage/src/posting_scan_visitor.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |             if !unsafe { record.verify_checksum() } {
[INFO] [stdout]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/storage/src/signature_verifier.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut offset = LsSignFileHeader::DATA_OFFSET as u64;
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> crates/storage/src/signature_verifier.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut offset = LsSignFileHeader::DATA_OFFSET as u64;
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]  --> crates/storage/src/file_protection.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 |         |error| {
[INFO] [stdout]   |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FileWatcherMetrics` is more private than the item `FileWatcherHandles::metrics`
[INFO] [stdout]    --> crates/storage/src/file_watcher.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub metrics: Arc<FileWatcherMetrics>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `FileWatcherHandles::metrics` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `FileWatcherMetrics` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> crates/storage/src/file_watcher.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 | struct FileWatcherMetrics {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `buffer_arena`, `collecting_capacity`, `in_flushing_capacity`, and `index_entries_arena` are never read
[INFO] [stdout]    --> crates/storage/src/ls_writer.rs:48:5
[INFO] [stdout]     |
[INFO] [stdout]  34 | pub struct LsWriter<T: FlushBackend, S: SigningStrategy, M: MetadataStrategy> {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  48 |     buffer_arena: ringbuf::arena::Arena,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     collecting_capacity: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     in_flushing_capacity: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     index_entries_arena: ringbuf::arena::Arena,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open_files` and `recover_checkpoint_state` are never used
[INFO] [stdout]    --> crates/storage/src/ls_writer.rs:709:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl<T: FlushBackend, S: SigningStrategy + Send, M: MetadataStrategy + Send> LsWriter<T, S, M> {
[INFO] [stdout]     | ---------------------------------------------------------------------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 709 |     fn open_files(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 955 |     fn recover_checkpoint_state(checkpoint_path: &str) -> (u64, u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `meta_buffer_arena` is never read
[INFO] [stdout]  --> crates/storage/src/posting_metadata_strategy.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct PostingMetadataStrategy {
[INFO] [stdout]   |            ----------------------- field in this struct
[INFO] [stdout] 7 |     record_writer: MetaRecordWriter,
[INFO] [stdout] 8 |     meta_buffer_arena: ringbuf::arena::Arena,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `recheck_depth_files` and `recheck_depth_days` are never read
[INFO] [stdout]   --> crates/storage/src/file_watcher.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct FileWatcher{
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 69 |     recheck_depth_files: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     recheck_depth_days: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at_ns` is never read
[INFO] [stdout]   --> crates/storage/src/file_watcher.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct WatchedFile {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 94 |     created_at_ns: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `alarms_fired` is never read
[INFO] [stdout]    --> crates/storage/src/file_watcher.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout]  98 | struct FileWatcherMetrics {
[INFO] [stdout]     |        ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub alarms_fired: AtomicU64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `perform_startup_verification` is never used
[INFO] [stdout]    --> crates/storage/src/file_watcher.rs:562:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | impl FileWatcher {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 562 |     fn perform_startup_verification(&mut self, count: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECONDS_PER_HOUR` is never used
[INFO] [stdout]  --> crates/storage/src/time_utils.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const SECONDS_PER_HOUR: u32 = 60 * 60;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECONDS_PER_DAY` is never used
[INFO] [stdout]  --> crates/storage/src/time_utils.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const SECONDS_PER_DAY: u32 = SECONDS_PER_HOUR * 24;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ledger v0.1.0 (/opt/rustwide/workdir/crates/ledger)
[INFO] [stdout] warning: unused import: `release_store_u8`
[INFO] [stdout]   --> crates/ledger/src/partition_actor.rs:14:46
[INFO] [stdout]    |
[INFO] [stdout] 14 | use common::mem_barrier::{release_store_u64, release_store_u8};
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ringbuf::slot::Slot`
[INFO] [stdout]   --> crates/ledger/src/decision_maker.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ringbuf::slot::Slot;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `release_store_u8`
[INFO] [stdout]   --> crates/ledger/src/partition_actor.rs:14:46
[INFO] [stdout]    |
[INFO] [stdout] 14 | use common::mem_barrier::{release_store_u64, release_store_u8};
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pipeline::transfer_slot::*`
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:483:9
[INFO] [stdout]     |
[INFO] [stdout] 483 |     use pipeline::transfer_slot::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ringbuf::slot::Slot`
[INFO] [stdout]   --> crates/ledger/src/decision_maker.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ringbuf::slot::Slot;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `currency`
[INFO] [stdout]   --> crates/ledger/src/ledger_pipeline_handler.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let currency = slot.currency;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_currency`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_id`
[INFO] [stdout]    --> crates/ledger/src/ledger_pipeline_handler.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |         partition_id: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:113:24
[INFO] [stdout]     |
[INFO] [stdout] 113 |             let slot = self.slots.add(pos);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:91:5
[INFO] [stdout]     |
[INFO] [stdout]  91 | /     pub unsafe fn insert(
[INFO] [stdout]  92 | |         &self,
[INFO] [stdout]  93 | |         id_hi: u64,
[INFO] [stdout]  94 | |         id_lo: u64,
[INFO] [stdout] ...   |
[INFO] [stdout] 101 | |         transfer_sequence_id: &[u8; 16],
[INFO] [stdout] 102 | |     ) -> u32 {
[INFO] [stdout]     | |____________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:131:24
[INFO] [stdout]     |
[INFO] [stdout] 131 |             let slot = self.slots.add(pos);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:211:24
[INFO] [stdout]     |
[INFO] [stdout] 211 |             let slot = self.slots.add(pos);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 | /     unsafe fn hop_and_insert(
[INFO] [stdout] 195 | |         &self,
[INFO] [stdout] 196 | |         home: usize,
[INFO] [stdout] 197 | |         id_hi: u64,
[INFO] [stdout] ...   |
[INFO] [stdout] 206 | |         transfer_sequence_id: &[u8; 16],
[INFO] [stdout] 207 | |     ) -> u32 {
[INFO] [stdout]     | |____________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 |         if (*slot).overflow == 0 {
[INFO] [stdout]     |            ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | /     unsafe fn get_or_alloc_overflow_chain(
[INFO] [stdout] 130 | |         &mut self,
[INFO] [stdout] 131 | |         slot: *mut PartitionVersionTableSlot,
[INFO] [stdout] 132 | |         block_number: usize,
[INFO] [stdout] 133 | |     ) -> u32 {
[INFO] [stdout]     | |____________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:136:13
[INFO] [stdout]     |
[INFO] [stdout] 136 |             (*slot).overflow = block_id + 1;
[INFO] [stdout]     |             ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:139:27
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut current = (*slot).overflow - 1;
[INFO] [stdout]     |                           ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `partition_version_table::PartitionVersionTable::lookup` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:196:24
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let slot_opt = self.lookup(id_hi, id_lo);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 | /     pub unsafe fn read_balance(
[INFO] [stdout] 191 | |         &self,
[INFO] [stdout] 192 | |         id_hi: u64,
[INFO] [stdout] 193 | |         id_lo: u64,
[INFO] [stdout] 194 | |         committed_gsn: u64,
[INFO] [stdout] 195 | |     ) -> Option<i64> {
[INFO] [stdout]     | |____________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:209:27
[INFO] [stdout]     |
[INFO] [stdout] 209 |             let record = &(*slot).inline[i];
[INFO] [stdout]     |                           ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:226:35
[INFO] [stdout]     |
[INFO] [stdout] 226 |                     let record = &*self.overflow_base.add(current_block as usize * 8 + i);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:226:36
[INFO] [stdout]     |
[INFO] [stdout] 226 |                     let record = &*self.overflow_base.add(current_block as usize * 8 + i);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `partition_version_table::PartitionVersionTable::lookup` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:252:24
[INFO] [stdout]     |
[INFO] [stdout] 252 |         let slot_opt = self.lookup(id_hi, id_lo);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 | /     pub unsafe fn compact(
[INFO] [stdout] 247 | |         &mut self,
[INFO] [stdout] 248 | |         id_hi: u64,
[INFO] [stdout] 249 | |         id_lo: u64,
[INFO] [stdout] 250 | |         committed_gsn: u64,
[INFO] [stdout] 251 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:267:27
[INFO] [stdout]     |
[INFO] [stdout] 267 |             versions.push((*slot).inline[i]);
[INFO] [stdout]     |                           ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:279:35
[INFO] [stdout]     |
[INFO] [stdout] 279 |                     let record = &*self.overflow_base.add(current_block as usize * 8 + i);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:279:36
[INFO] [stdout]     |
[INFO] [stdout] 279 |                     let record = &*self.overflow_base.add(current_block as usize * 8 + i);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `partition_version_table::PartitionVersionTable::record_version_to_slot` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |             self.record_version_to_slot(slot, version.gsn, version.balance);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Checking integration_tests v0.1.0 (/opt/rustwide/workdir/crates/integration_tests)
[INFO] [stderr]     Checking solidus-ledger-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_accounts_hash_table.rs:357:28
[INFO] [stdout]     |
[INFO] [stdout] 357 |                 let slot = self.slots.add(pos);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/partition_accounts_hash_table.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |         unsafe fn get_or_create(&mut self, id_hi: u64, id_lo: u64) -> *mut AccountSlot {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_accounts_hash_table.rs:359:32
[INFO] [stdout]     |
[INFO] [stdout] 359 |                 let slot_psl = (*slot).psl;
[INFO] [stdout]     |                                ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_accounts_hash_table.rs:360:35
[INFO] [stdout]     |
[INFO] [stdout] 360 |                 let slot_status = (*slot).status;
[INFO] [stdout]     |                                   ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::write` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_accounts_hash_table.rs:363:21
[INFO] [stdout]     |
[INFO] [stdout] 363 |                     std::ptr::write(slot, inserting);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_accounts_hash_table.rs:368:34
[INFO] [stdout]     |
[INFO] [stdout] 368 |                 let slot_id_hi = (*slot).account_id_hi;
[INFO] [stdout]     |                                  ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_accounts_hash_table.rs:369:34
[INFO] [stdout]     |
[INFO] [stdout] 369 |                 let slot_id_lo = (*slot).account_id_lo;
[INFO] [stdout]     |                                  ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_accounts_hash_table.rs:376:41
[INFO] [stdout]     |
[INFO] [stdout] 376 |                     std::mem::swap(&mut *slot, &mut inserting);
[INFO] [stdout]     |                                         ^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_accounts_hash_table.rs:395:28
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 let slot = self.slots.add(pos);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/partition_accounts_hash_table.rs:389:9
[INFO] [stdout]     |
[INFO] [stdout] 389 |         unsafe fn lookup(&self, id_hi: u64, id_lo: u64) -> Option<*mut AccountSlot> {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_accounts_hash_table.rs:397:32
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 let slot_psl = (*slot).psl;
[INFO] [stdout]     |                                ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_accounts_hash_table.rs:398:35
[INFO] [stdout]     |
[INFO] [stdout] 398 |                 let slot_status = (*slot).status;
[INFO] [stdout]     |                                   ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_accounts_hash_table.rs:408:37
[INFO] [stdout]     |
[INFO] [stdout] 408 |                 let account_id_hi = (*slot).account_id_hi;
[INFO] [stdout]     |                                     ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_accounts_hash_table.rs:409:34
[INFO] [stdout]     |
[INFO] [stdout] 409 |                 let slot_id_lo = (*slot).account_id_lo;
[INFO] [stdout]     |                                  ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `currency`
[INFO] [stdout]   --> crates/ledger/src/ledger_pipeline_handler.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let currency = slot.currency;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_currency`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_id`
[INFO] [stdout]    --> crates/ledger/src/ledger_pipeline_handler.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |         partition_id: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `config::BatchAcceptConfig`
[INFO] [stdout]   --> crates/integration_tests/tests/integration.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use config::BatchAcceptConfig;
[INFO] [stdout]    |     ^^^^^^^^-----------------
[INFO] [stdout]    |             |
[INFO] [stdout]    |             no `BatchAcceptConfig` in the root
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct instead
[INFO] [stdout]    |
[INFO] [stdout] 13 | use config::config::BatchAcceptConfig;
[INFO] [stdout]    |     ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:290:24
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let pvt_tail = unsafe { &raw mut TEST_PVT_TAIL };
[INFO] [stdout]     |                        ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:338:14
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let (mut actor, _, coordinator_rbs) = make_actor_with_coordinator();
[INFO] [stdout]     |              ----^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_accounts_hash_table`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:337:13
[INFO] [stdout]     |
[INFO] [stdout] 337 | ...et partition_accounts_hash_table = PartitionAccountsHashTable::new(capacity, PARTITION_ACCOUNTS_HASH_TABLE_K0, PARTITION_ACCOUNT...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_accounts_hash_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coordinator_rbs`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:338:28
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let (mut actor, _, coordinator_rbs) = make_actor_with_coordinator();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coordinator_rbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:345:13
[INFO] [stdout]     |
[INFO] [stdout] 345 |         let rb = Arc::new(MpscRingBuffer::<PartitionSlot>::new(64).unwrap());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_accounts_hash_table`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:346:13
[INFO] [stdout]     |
[INFO] [stdout] 346 | ...et partition_accounts_hash_table = PartitionAccountsHashTable::new(64, PARTITION_ACCOUNTS_HASH_TABLE_K0, PARTITION_ACCOUNTS_HASH...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_accounts_hash_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coordinator_rbs`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:347:28
[INFO] [stdout]     |
[INFO] [stdout] 347 |         let (mut actor, _, coordinator_rbs) = make_actor_with_coordinator();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coordinator_rbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:363:13
[INFO] [stdout]     |
[INFO] [stdout] 363 |         let rb = Arc::new(MpscRingBuffer::<PartitionSlot>::new(64).unwrap());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_accounts_hash_table`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:364:13
[INFO] [stdout]     |
[INFO] [stdout] 364 | ...et partition_accounts_hash_table = PartitionAccountsHashTable::new(64, PARTITION_ACCOUNTS_HASH_TABLE_K0, PARTITION_ACCOUNTS_HASH...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_accounts_hash_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coordinator_rbs`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:365:28
[INFO] [stdout]     |
[INFO] [stdout] 365 |         let (mut actor, _, coordinator_rbs) = make_actor_with_coordinator();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coordinator_rbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:379:13
[INFO] [stdout]     |
[INFO] [stdout] 379 |         let rb = Arc::new(MpscRingBuffer::<PartitionSlot>::new(64).unwrap());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_accounts_hash_table`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:380:13
[INFO] [stdout]     |
[INFO] [stdout] 380 | ...et partition_accounts_hash_table = PartitionAccountsHashTable::new(64, PARTITION_ACCOUNTS_HASH_TABLE_K0, PARTITION_ACCOUNTS_HASH...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_accounts_hash_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coordinator_rbs`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:381:28
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let (mut actor, _, coordinator_rbs) = make_actor_with_coordinator();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coordinator_rbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let rb = Arc::new(MpscRingBuffer::<PartitionSlot>::new(64).unwrap());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_accounts_hash_table`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 | ...et partition_accounts_hash_table = PartitionAccountsHashTable::new(64, PARTITION_ACCOUNTS_HASH_TABLE_K0, PARTITION_ACCOUNTS_HASH...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_accounts_hash_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coordinator_rbs`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:403:28
[INFO] [stdout]     |
[INFO] [stdout] 403 |         let (mut actor, _, coordinator_rbs) = make_actor_with_coordinator();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coordinator_rbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:423:13
[INFO] [stdout]     |
[INFO] [stdout] 423 |         let rb = Arc::new(MpscRingBuffer::<PartitionSlot>::new(64).unwrap());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_accounts_hash_table`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:424:13
[INFO] [stdout]     |
[INFO] [stdout] 424 | ...et partition_accounts_hash_table = PartitionAccountsHashTable::new(64, PARTITION_ACCOUNTS_HASH_TABLE_K0, PARTITION_ACCOUNTS_HASH...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_accounts_hash_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coordinator_rbs`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:425:28
[INFO] [stdout]     |
[INFO] [stdout] 425 |         let (mut actor, _, coordinator_rbs) = make_actor_with_coordinator();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coordinator_rbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:446:13
[INFO] [stdout]     |
[INFO] [stdout] 446 |         let rb = Arc::new(MpscRingBuffer::<PartitionSlot>::new(64).unwrap());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_accounts_hash_table`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:447:13
[INFO] [stdout]     |
[INFO] [stdout] 447 | ...et partition_accounts_hash_table = PartitionAccountsHashTable::new(64, PARTITION_ACCOUNTS_HASH_TABLE_K0, PARTITION_ACCOUNTS_HASH...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_accounts_hash_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coordinator_rbs`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:448:28
[INFO] [stdout]     |
[INFO] [stdout] 448 |         let (mut actor, _, coordinator_rbs) = make_actor_with_coordinator();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coordinator_rbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:466:13
[INFO] [stdout]     |
[INFO] [stdout] 466 |         let rb = Arc::new(MpscRingBuffer::<PartitionSlot>::new(64).unwrap());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_accounts_hash_table`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:467:13
[INFO] [stdout]     |
[INFO] [stdout] 467 | ...et partition_accounts_hash_table = PartitionAccountsHashTable::new(64, PARTITION_ACCOUNTS_HASH_TABLE_K0, PARTITION_ACCOUNTS_HASH...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_accounts_hash_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coordinator_rbs`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:468:28
[INFO] [stdout]     |
[INFO] [stdout] 468 |         let (mut actor, _, coordinator_rbs) = make_actor_with_coordinator();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coordinator_rbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:483:13
[INFO] [stdout]     |
[INFO] [stdout] 483 |         let rb = Arc::new(MpscRingBuffer::<PartitionSlot>::new(64).unwrap());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_accounts_hash_table`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:484:13
[INFO] [stdout]     |
[INFO] [stdout] 484 | ...et partition_accounts_hash_table = PartitionAccountsHashTable::new(64, PARTITION_ACCOUNTS_HASH_TABLE_K0, PARTITION_ACCOUNTS_HASH...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_accounts_hash_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coordinator_rbs`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:485:28
[INFO] [stdout]     |
[INFO] [stdout] 485 |         let (mut actor, _, coordinator_rbs) = make_actor_with_coordinator();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coordinator_rbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:498:13
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let rb = Arc::new(MpscRingBuffer::<PartitionSlot>::new(64).unwrap());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_accounts_hash_table`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:499:13
[INFO] [stdout]     |
[INFO] [stdout] 499 | ...et partition_accounts_hash_table = PartitionAccountsHashTable::new(64, PARTITION_ACCOUNTS_HASH_TABLE_K0, PARTITION_ACCOUNTS_HASH...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_accounts_hash_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coordinator_rbs`
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:500:28
[INFO] [stdout]     |
[INFO] [stdout] 500 |         let (mut actor, _, coordinator_rbs) = make_actor_with_coordinator();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coordinator_rbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:113:24
[INFO] [stdout]     |
[INFO] [stdout] 113 |             let slot = self.slots.add(pos);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:91:5
[INFO] [stdout]     |
[INFO] [stdout]  91 | /     pub unsafe fn insert(
[INFO] [stdout]  92 | |         &self,
[INFO] [stdout]  93 | |         id_hi: u64,
[INFO] [stdout]  94 | |         id_lo: u64,
[INFO] [stdout] ...   |
[INFO] [stdout] 101 | |         transfer_sequence_id: &[u8; 16],
[INFO] [stdout] 102 | |     ) -> u32 {
[INFO] [stdout]     | |____________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:131:24
[INFO] [stdout]     |
[INFO] [stdout] 131 |             let slot = self.slots.add(pos);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:211:24
[INFO] [stdout]     |
[INFO] [stdout] 211 |             let slot = self.slots.add(pos);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 | /     unsafe fn hop_and_insert(
[INFO] [stdout] 195 | |         &self,
[INFO] [stdout] 196 | |         home: usize,
[INFO] [stdout] 197 | |         id_hi: u64,
[INFO] [stdout] ...   |
[INFO] [stdout] 206 | |         transfer_sequence_id: &[u8; 16],
[INFO] [stdout] 207 | |     ) -> u32 {
[INFO] [stdout]     | |____________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:782:28
[INFO] [stdout]     |
[INFO] [stdout] 782 |                 let slot = self.slots.add(pos);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:772:9
[INFO] [stdout]     |
[INFO] [stdout] 772 |         unsafe fn insert(&self, id_hi: u64, id_lo: u64) -> u32 {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:783:20
[INFO] [stdout]     |
[INFO] [stdout] 783 |                 if (*slot).fingerprint == fp
[INFO] [stdout]     |                    ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:784:24
[INFO] [stdout]     |
[INFO] [stdout] 784 |                     && (*slot).transfer_id_hi == id_hi
[INFO] [stdout]     |                        ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:785:24
[INFO] [stdout]     |
[INFO] [stdout] 785 |                     && (*slot).transfer_id_lo == id_lo
[INFO] [stdout]     |                        ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:786:24
[INFO] [stdout]     |
[INFO] [stdout] 786 |                     && (*slot).status == SLOT_OCCUPIED
[INFO] [stdout]     |                        ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:795:28
[INFO] [stdout]     |
[INFO] [stdout] 795 |                 let slot = self.slots.add(pos);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:796:20
[INFO] [stdout]     |
[INFO] [stdout] 796 |                 if (*slot).status == SLOT_FREE || (*slot).status == SLOT_DELETED {
[INFO] [stdout]     |                    ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:796:51
[INFO] [stdout]     |
[INFO] [stdout] 796 |                 if (*slot).status == SLOT_FREE || (*slot).status == SLOT_DELETED {
[INFO] [stdout]     |                                                   ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `transfer_hash_table::miri_tests::MiriTht::write_new_slot` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:797:21
[INFO] [stdout]     |
[INFO] [stdout] 797 |                     self.write_new_slot(slot, id_hi, id_lo, fp);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:800:21
[INFO] [stdout]     |
[INFO] [stdout] 800 |                     *bitmaps_ptr.add(home) |= 1u32 << offset;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:800:22
[INFO] [stdout]     |
[INFO] [stdout] 800 |                     *bitmaps_ptr.add(home) |= 1u32 << offset;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:801:21
[INFO] [stdout]     |
[INFO] [stdout] 801 |                     *self.count.get() += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global_committed_gsn`
[INFO] [stdout]    --> src/main.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |     let global_committed_gsn: *mut u64 = committed_gsn_arena.as_ptr() as *mut u64;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_global_committed_gsn`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:824:13
[INFO] [stdout]     |
[INFO] [stdout] 824 |             std::ptr::copy_nonoverlapping(&new_slot, slot, 1);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:809:9
[INFO] [stdout]     |
[INFO] [stdout] 809 | /         unsafe fn write_new_slot(
[INFO] [stdout] 810 | |             &self,
[INFO] [stdout] 811 | |             slot: *mut TransferSlot,
[INFO] [stdout] 812 | |             id_hi: u64,
[INFO] [stdout] 813 | |             id_lo: u64,
[INFO] [stdout] 814 | |             fp: u8,
[INFO] [stdout] 815 | |         ) {
[INFO] [stdout]     | |_________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:838:28
[INFO] [stdout]     |
[INFO] [stdout] 838 |                 let slot = self.slots.add(pos);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:827:9
[INFO] [stdout]     |
[INFO] [stdout] 827 |         unsafe fn lookup(&self, id_hi: u64, id_lo: u64) -> Option<u32> {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:840:20
[INFO] [stdout]     |
[INFO] [stdout] 840 |                 if (*slot).status == SLOT_OCCUPIED
[INFO] [stdout]     |                    ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:841:24
[INFO] [stdout]     |
[INFO] [stdout] 841 |                     && (*slot).fingerprint == fp
[INFO] [stdout]     |                        ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:842:24
[INFO] [stdout]     |
[INFO] [stdout] 842 |                     && (*slot).transfer_id_hi == id_hi
[INFO] [stdout]     |                        ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:843:24
[INFO] [stdout]     |
[INFO] [stdout] 843 |                     && (*slot).transfer_id_lo == id_lo
[INFO] [stdout]     |                        ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:854:24
[INFO] [stdout]     |
[INFO] [stdout] 854 |             let slot = self.slots.add(pos);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:852:9
[INFO] [stdout]     |
[INFO] [stdout] 852 |         unsafe fn remove(&self, offset: u32) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:858:17
[INFO] [stdout]     |
[INFO] [stdout] 858 |                 (*slot).transfer_id_hi, (*slot).transfer_id_lo,
[INFO] [stdout]     |                 ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:858:41
[INFO] [stdout]     |
[INFO] [stdout] 858 |                 (*slot).transfer_id_hi, (*slot).transfer_id_lo,
[INFO] [stdout]     |                                         ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:869:13
[INFO] [stdout]     |
[INFO] [stdout] 869 |             *bitmaps_ptr.add(home) &= !(1u32 << bit_offset);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:869:14
[INFO] [stdout]     |
[INFO] [stdout] 869 |             *bitmaps_ptr.add(home) &= !(1u32 << bit_offset);
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:870:13
[INFO] [stdout]     |
[INFO] [stdout] 870 |             (*slot).status = SLOT_DELETED;
[INFO] [stdout]     |             ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:871:13
[INFO] [stdout]     |
[INFO] [stdout] 871 |             *self.count.get() -= 1;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:875:24
[INFO] [stdout]     |
[INFO] [stdout] 875 |             let slot = self.slots.add(offset as usize);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:874:9
[INFO] [stdout]     |
[INFO] [stdout] 874 |         unsafe fn fill_entry(&self, offset: u32, index: usize, entry: &TransferHashTableEntry) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:876:13
[INFO] [stdout]     |
[INFO] [stdout] 876 |             std::ptr::copy_nonoverlapping(entry, &mut (*slot).entries[index], 1);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:876:55
[INFO] [stdout]     |
[INFO] [stdout] 876 |             std::ptr::copy_nonoverlapping(entry, &mut (*slot).entries[index], 1);
[INFO] [stdout]     |                                                       ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:881:28
[INFO] [stdout]     |
[INFO] [stdout] 881 |                 let slot = self.slots.add(offset as usize);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:879:9
[INFO] [stdout]     |
[INFO] [stdout] 879 |         unsafe fn get_entry(&self, offset: u32, index: usize) -> &TransferHashTableEntry {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:882:18
[INFO] [stdout]     |
[INFO] [stdout] 882 |                 &(*slot).entries[index]
[INFO] [stdout]     |                  ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:884:18
[INFO] [stdout]     |
[INFO] [stdout] 884 |                   &*self.overflow_base.add(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 885 | |                     offset as usize * self.overflow_per_slot + (index - 8),
[INFO] [stdout] 886 | |                 )
[INFO] [stdout]     | |_________________^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/transfer_hash_table.rs:884:19
[INFO] [stdout]     |
[INFO] [stdout] 884 |                   &*self.overflow_base.add(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 885 | |                     offset as usize * self.overflow_per_slot + (index - 8),
[INFO] [stdout] 886 | |                 )
[INFO] [stdout]     | |_________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ls_writer_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:360:13
[INFO] [stdout]     |
[INFO] [stdout] 360 |         let ls_writer_rb = Arc::new(
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ls_writer_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flush_done_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:363:13
[INFO] [stdout]     |
[INFO] [stdout] 363 |         let flush_done_rb = Arc::new(
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flush_done_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ls_writer_rbs`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:375:13
[INFO] [stdout]     |
[INFO] [stdout] 375 |         let ls_writer_rbs = vec![ls_writer_rb.clone()];
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ls_writer_rbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ls_writer_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:412:52
[INFO] [stdout]     |
[INFO] [stdout] 412 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) = setup_dm_with_transfer(4);
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ls_writer_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flush_done_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:412:66
[INFO] [stdout]     |
[INFO] [stdout] 412 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) = setup_dm_with_transfer(4);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flush_done_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ls_writer_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:452:52
[INFO] [stdout]     |
[INFO] [stdout] 452 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) = setup_dm_with_transfer(4);
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ls_writer_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flush_done_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:452:66
[INFO] [stdout]     |
[INFO] [stdout] 452 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) = setup_dm_with_transfer(4);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flush_done_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ls_writer_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:487:52
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) = setup_dm_with_transfer(4);
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ls_writer_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flush_done_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:487:66
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) = setup_dm_with_transfer(4);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flush_done_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ls_writer_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:525:52
[INFO] [stdout]     |
[INFO] [stdout] 525 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) = setup_dm_with_transfer(4);
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ls_writer_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flush_done_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:525:66
[INFO] [stdout]     |
[INFO] [stdout] 525 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) = setup_dm_with_transfer(4);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flush_done_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tht`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:559:22
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) = setup_dm_with_transfer(4);
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_tht`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ls_writer_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:559:52
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) = setup_dm_with_transfer(4);
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ls_writer_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flush_done_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:559:66
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) = setup_dm_with_transfer(4);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flush_done_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `partition_rbs`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:598:37
[INFO] [stdout]     |
[INFO] [stdout] 598 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) = setup_dm_with_transfer(4);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_partition_rbs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ls_writer_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:598:52
[INFO] [stdout]     |
[INFO] [stdout] 598 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) = setup_dm_with_transfer(4);
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ls_writer_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flush_done_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:598:66
[INFO] [stdout]     |
[INFO] [stdout] 598 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) = setup_dm_with_transfer(4);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flush_done_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flush_done_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:618:66
[INFO] [stdout]     |
[INFO] [stdout] 618 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) =
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flush_done_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ls_writer_rb`
[INFO] [stdout]    --> crates/ledger/src/decision_maker.rs:662:52
[INFO] [stdout]     |
[INFO] [stdout] 662 |         let (mut dm, tht, coord_rb, partition_rbs, ls_writer_rb, flush_done_rb, tht_offset) =
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ls_writer_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 |         if (*slot).overflow == 0 {
[INFO] [stdout]     |            ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | /     unsafe fn get_or_alloc_overflow_chain(
[INFO] [stdout] 130 | |         &mut self,
[INFO] [stdout] 131 | |         slot: *mut PartitionVersionTableSlot,
[INFO] [stdout] 132 | |         block_number: usize,
[INFO] [stdout] 133 | |     ) -> u32 {
[INFO] [stdout]     | |____________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:136:13
[INFO] [stdout]     |
[INFO] [stdout] 136 |             (*slot).overflow = block_id + 1;
[INFO] [stdout]     |             ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:139:27
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut current = (*slot).overflow - 1;
[INFO] [stdout]     |                           ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `partition_version_table::PartitionVersionTable::lookup` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:196:24
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let slot_opt = self.lookup(id_hi, id_lo);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 | /     pub unsafe fn read_balance(
[INFO] [stdout] 191 | |         &self,
[INFO] [stdout] 192 | |         id_hi: u64,
[INFO] [stdout] 193 | |         id_lo: u64,
[INFO] [stdout] 194 | |         committed_gsn: u64,
[INFO] [stdout] 195 | |     ) -> Option<i64> {
[INFO] [stdout]     | |____________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:209:27
[INFO] [stdout]     |
[INFO] [stdout] 209 |             let record = &(*slot).inline[i];
[INFO] [stdout]     |                           ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:226:35
[INFO] [stdout]     |
[INFO] [stdout] 226 |                     let record = &*self.overflow_base.add(current_block as usize * 8 + i);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:226:36
[INFO] [stdout]     |
[INFO] [stdout] 226 |                     let record = &*self.overflow_base.add(current_block as usize * 8 + i);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `partition_version_table::PartitionVersionTable::lookup` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:252:24
[INFO] [stdout]     |
[INFO] [stdout] 252 |         let slot_opt = self.lookup(id_hi, id_lo);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 | /     pub unsafe fn compact(
[INFO] [stdout] 247 | |         &mut self,
[INFO] [stdout] 248 | |         id_hi: u64,
[INFO] [stdout] 249 | |         id_lo: u64,
[INFO] [stdout] 250 | |         committed_gsn: u64,
[INFO] [stdout] 251 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:267:27
[INFO] [stdout]     |
[INFO] [stdout] 267 |             versions.push((*slot).inline[i]);
[INFO] [stdout]     |                           ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:279:35
[INFO] [stdout]     |
[INFO] [stdout] 279 |                     let record = &*self.overflow_base.add(current_block as usize * 8 + i);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:279:36
[INFO] [stdout]     |
[INFO] [stdout] 279 |                     let record = &*self.overflow_base.add(current_block as usize * 8 + i);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `partition_version_table::PartitionVersionTable::record_version_to_slot` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |             self.record_version_to_slot(slot, version.gsn, version.balance);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:718:28
[INFO] [stdout]     |
[INFO] [stdout] 718 |                 let slot = self.slots.add(pos);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:704:9
[INFO] [stdout]     |
[INFO] [stdout] 704 |         unsafe fn get_or_create(&mut self, id_hi: u64, id_lo: u64) -> *mut PartitionVersionTableSlot {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:719:32
[INFO] [stdout]     |
[INFO] [stdout] 719 |                 let slot_psl = (*slot).psl;
[INFO] [stdout]     |                                ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:720:35
[INFO] [stdout]     |
[INFO] [stdout] 720 |                 let slot_status = (*slot).status;
[INFO] [stdout]     |                                   ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::write` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:724:21
[INFO] [stdout]     |
[INFO] [stdout] 724 |                     std::ptr::write(slot, inserting);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:729:20
[INFO] [stdout]     |
[INFO] [stdout] 729 |                 if (*slot).account_id_hi == id_hi && (*slot).account_id_lo == id_lo {
[INFO] [stdout]     |                    ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:729:54
[INFO] [stdout]     |
[INFO] [stdout] 729 |                 if (*slot).account_id_hi == id_hi && (*slot).account_id_lo == id_lo {
[INFO] [stdout]     |                                                      ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:734:41
[INFO] [stdout]     |
[INFO] [stdout] 734 |                     std::mem::swap(&mut *slot, &mut inserting);
[INFO] [stdout]     |                                         ^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `partition_version_table::miri_tests::MiriPvt::get_or_create` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:748:24
[INFO] [stdout]     |
[INFO] [stdout] 748 |             let slot = self.get_or_create(id_hi, id_lo);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:747:9
[INFO] [stdout]     |
[INFO] [stdout] 747 |         unsafe fn record_version(&mut self, id_hi: u64, id_lo: u64, gsn: u64, balance: i64) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:749:25
[INFO] [stdout]     |
[INFO] [stdout] 749 |             let count = (*slot).count as usize;
[INFO] [stdout]     |                         ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:752:17
[INFO] [stdout]     |
[INFO] [stdout] 752 |                 (*slot).inline[count].gsn = gsn;
[INFO] [stdout]     |                 ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:753:17
[INFO] [stdout]     |
[INFO] [stdout] 753 |                 (*slot).inline[count].balance = balance;
[INFO] [stdout]     |                 ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `partition_version_table::miri_tests::MiriPvt::get_or_alloc_overflow_chain` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:759:32
[INFO] [stdout]     |
[INFO] [stdout] 759 |                 let block_id = self.get_or_alloc_overflow_chain(slot, block_number);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:760:27
[INFO] [stdout]     |
[INFO] [stdout] 760 |                 let ptr = self.overflow_base.add(block_id as usize * 8 + entry_index);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:761:17
[INFO] [stdout]     |
[INFO] [stdout] 761 |                 (*ptr).gsn = gsn;
[INFO] [stdout]     |                 ^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:762:17
[INFO] [stdout]     |
[INFO] [stdout] 762 |                 (*ptr).balance = balance;
[INFO] [stdout]     |                 ^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:765:13
[INFO] [stdout]     |
[INFO] [stdout] 765 |             (*slot).count = (count + 1) as u32;
[INFO] [stdout]     |             ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:773:16
[INFO] [stdout]     |
[INFO] [stdout] 773 |             if (*slot).overflow == 0 {
[INFO] [stdout]     |                ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:768:9
[INFO] [stdout]     |
[INFO] [stdout] 768 | /         unsafe fn get_or_alloc_overflow_chain(
[INFO] [stdout] 769 | |             &mut self,
[INFO] [stdout] 770 | |             slot: *mut PartitionVersionTableSlot,
[INFO] [stdout] 771 | |             block_number: usize,
[INFO] [stdout] 772 | |         ) -> u32 {
[INFO] [stdout]     | |________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:775:17
[INFO] [stdout]     |
[INFO] [stdout] 775 |                 (*slot).overflow = block_id + 1;
[INFO] [stdout]     |                 ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:778:31
[INFO] [stdout]     |
[INFO] [stdout] 778 |             let mut current = (*slot).overflow - 1;
[INFO] [stdout]     |                               ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:798:25
[INFO] [stdout]     |
[INFO] [stdout] 798 |                 let s = self.slots.add(pos);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:792:9
[INFO] [stdout]     |
[INFO] [stdout] 792 |         unsafe fn read_balance(&self, id_hi: u64, id_lo: u64, committed_gsn: u64) -> Option<i64> {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:799:20
[INFO] [stdout]     |
[INFO] [stdout] 799 |                 if (*s).status == SLOT_FREE { return None; }
[INFO] [stdout]     |                    ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:800:20
[INFO] [stdout]     |
[INFO] [stdout] 800 |                 if (*s).psl < psl { return None; }
[INFO] [stdout]     |                    ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:801:20
[INFO] [stdout]     |
[INFO] [stdout] 801 |                 if (*s).account_id_hi == id_hi && (*s).account_id_lo == id_lo {
[INFO] [stdout]     |                    ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:801:51
[INFO] [stdout]     |
[INFO] [stdout] 801 |                 if (*s).account_id_hi == id_hi && (*s).account_id_lo == id_lo {
[INFO] [stdout]     |                                                   ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:808:25
[INFO] [stdout]     |
[INFO] [stdout] 808 |             let count = (*slot).count as usize;
[INFO] [stdout]     |                         ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:814:26
[INFO] [stdout]     |
[INFO] [stdout] 814 |                 let r = &(*slot).inline[i];
[INFO] [stdout]     |                          ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:821:29
[INFO] [stdout]     |
[INFO] [stdout] 821 |             if count > 8 && (*slot).overflow != 0 {
[INFO] [stdout]     |                             ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:823:41
[INFO] [stdout]     |
[INFO] [stdout] 823 |                 let mut current_block = (*slot).overflow - 1;
[INFO] [stdout]     |                                         ^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:827:34
[INFO] [stdout]     |
[INFO] [stdout] 827 |                         let r = &*self.overflow_base.add(current_block as usize * 8 + i);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:827:35
[INFO] [stdout]     |
[INFO] [stdout] 827 |                         let r = &*self.overflow_base.add(current_block as usize * 8 + i);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `global_committed_gsn`
[INFO] [stdout]    --> src/main.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |     let global_committed_gsn: *mut u64 = committed_gsn_arena.as_ptr() as *mut u64;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_global_committed_gsn`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `capacity` is never read
[INFO] [stdout]    --> crates/ledger/src/partition_accounts_hash_table.rs:321:9
[INFO] [stdout]     |
[INFO] [stdout] 317 |     struct MiriPaht {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 321 |         capacity: usize,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_handler` is never used
[INFO] [stdout]    --> crates/ledger/src/ledger_pipeline_handler.rs:223:8
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn make_handler(num_partitions: usize) -> LedgerPipelineHandler {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_actor` is never used
[INFO] [stdout]    --> crates/ledger/src/partition_actor.rs:335:8
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn make_actor(capacity: usize) -> (PartitionActor, Arc<MpscRingBuffer<PartitionSlot>>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `capacity` is never read
[INFO] [stdout]    --> crates/ledger/src/partition_version_table.rs:670:9
[INFO] [stdout]     |
[INFO] [stdout] 661 |     struct MiriPvt {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 670 |         capacity: usize,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_name`
[INFO] [stdout]   --> crates/integration_tests/tests/ls_rotation.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn make_temp_dir(test_name: &str) -> String {
[INFO] [stdout]    |                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/integration_tests/tests/ls_rotation.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let committed_gsn_ptr = unsafe { &raw mut TEST_COMMITTED_GSN };
[INFO] [stdout]    |                             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/integration_tests/tests/ls_rotation.rs:91:29
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let committed_gsn_ptr = unsafe { &raw mut TEST_COMMITTED_GSN };
[INFO] [stdout]    |                             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/integration_tests/tests/ls_rotation.rs:140:29
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let committed_gsn_ptr = unsafe { &raw mut TEST_COMMITTED_GSN };
[INFO] [stdout]     |                             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/integration_tests/tests/ls_rotation.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert!(unsafe { header.verify_checksum() });
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `config::BatchAcceptConfig`
[INFO] [stdout]   --> crates/integration_tests/tests/integration_tests.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use config::BatchAcceptConfig;
[INFO] [stdout]    |     ^^^^^^^^-----------------
[INFO] [stdout]    |             |
[INFO] [stdout]    |             no `BatchAcceptConfig` in the root
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct instead
[INFO] [stdout]    |
[INFO] [stdout] 13 | use config::config::BatchAcceptConfig;
[INFO] [stdout]    |     ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `integration_tests` (test "integration") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/integration_tests/tests/ls_index.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let committed_gsn_ptr = unsafe { &raw mut TEST_COMMITTED_GSN };
[INFO] [stdout]    |                             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/integration_tests/tests/ls_index.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     unsafe { slot.posting.compute_checksum(); }
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `builder`
[INFO] [stdout]    --> crates/integration_tests/tests/ls_index.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |     let builder = IndexBuilder::new(0, builder_rx_dummy.1, None);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_builder`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `integration_tests` (test "integration_tests") due to 1 previous error
[INFO] [stdout] warning: unused import: `sha2::digest::DynDigest`
[INFO] [stdout]  --> crates/storage/src/signing_state.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use sha2::digest::DynDigest;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/storage/src/ls_writer.rs:965:13
[INFO] [stdout]     |
[INFO] [stdout] 965 |             unsafe { header.as_bytes_mut() }
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_name`
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:1116:33
[INFO] [stdout]      |
[INFO] [stdout] 1116 |     fn make_temp_dir_for_writer(test_name: &str) -> String {
[INFO] [stdout]      |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_name`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:1143:33
[INFO] [stdout]      |
[INFO] [stdout] 1143 |         let committed_gsn_ptr = unsafe { &raw mut TEST_COMMITTED_GSN };
[INFO] [stdout]      |                                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:1188:33
[INFO] [stdout]      |
[INFO] [stdout] 1188 |         let committed_gsn_ptr = unsafe { &raw mut TEST_COMMITTED_GSN };
[INFO] [stdout]      |                                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:1237:33
[INFO] [stdout]      |
[INFO] [stdout] 1237 |         let committed_gsn_ptr = unsafe { &raw mut TEST_COMMITTED_GSN };
[INFO] [stdout]      |                                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:1320:33
[INFO] [stdout]      |
[INFO] [stdout] 1320 |         let committed_gsn_ptr = unsafe { &raw mut TEST_COMMITTED_GSN };
[INFO] [stdout]      |                                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:1368:33
[INFO] [stdout]      |
[INFO] [stdout] 1368 |         let committed_gsn_ptr = unsafe { &raw mut TEST_COMMITTED_GSN };
[INFO] [stdout]      |                                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:1823:17
[INFO] [stdout]      |
[INFO] [stdout] 1823 |         assert!(unsafe { header.verify_checksum() });
[INFO] [stdout]      |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:2030:13
[INFO] [stdout]      |
[INFO] [stdout] 2030 |         let mut writer = make_writer_with_max_size(1024 * 1024); // 1MB
[INFO] [stdout]      |             ----^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:2036:13
[INFO] [stdout]      |
[INFO] [stdout] 2036 |         let mut writer = make_writer_with_max_size(4096);
[INFO] [stdout]      |             ----^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:2212:33
[INFO] [stdout]      |
[INFO] [stdout] 2212 |         let committed_gsn_ptr = unsafe { &raw mut TEST_COMMITTED_GSN };
[INFO] [stdout]      |                                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:2248:33
[INFO] [stdout]      |
[INFO] [stdout] 2248 |         let committed_gsn_ptr = unsafe { &raw mut TEST_COMMITTED_GSN };
[INFO] [stdout]      |                                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:2299:33
[INFO] [stdout]      |
[INFO] [stdout] 2299 |         let committed_gsn_ptr = unsafe { &raw mut TEST_COMMITTED_GSN };
[INFO] [stdout]      |                                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:2480:17
[INFO] [stdout]      |
[INFO] [stdout] 2480 |                 unsafe { record.compute_checksum(); }
[INFO] [stdout]      |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:2499:17
[INFO] [stdout]      |
[INFO] [stdout] 2499 |                 unsafe { record.compute_checksum(); }
[INFO] [stdout]      |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:2606:37
[INFO] [stdout]      |
[INFO] [stdout] 2606 |             let committed_gsn_ptr = unsafe { &raw mut TEST_COMMITTED_GSN };
[INFO] [stdout]      |                                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:2647:37
[INFO] [stdout]      |
[INFO] [stdout] 2647 |             let committed_gsn_ptr = unsafe { &raw mut TEST_COMMITTED_GSN };
[INFO] [stdout]      |                                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ls_path` is assigned to, but never used
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:2596:13
[INFO] [stdout]      |
[INFO] [stdout] 2596 |         let ls_path;
[INFO] [stdout]      |             ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_ls_path` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ls_path` is never read
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:2637:13
[INFO] [stdout]      |
[INFO] [stdout] 2637 |             ls_path = writer.current_ls_file_path().to_string();
[INFO] [stdout]      |             ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> crates/storage/src/ls_writer.rs:2709:33
[INFO] [stdout]      |
[INFO] [stdout] 2709 |         let committed_gsn_ptr = unsafe { &raw mut TEST_COMMITTED_GSN };
[INFO] [stdout]      |                                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pwrite_done` is assigned to, but never used
[INFO] [stdout]    --> crates/storage/src/io_uring_flush_backend.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |         let mut pwrite_done = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_pwrite_done` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pwrite_done` is never read
[INFO] [stdout]    --> crates/storage/src/io_uring_flush_backend.rs:227:21
[INFO] [stdout]     |
[INFO] [stdout] 227 |                     pwrite_done = true;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metadata`
[INFO] [stdout]    --> crates/storage/src/io_uring_flush_backend.rs:332:13
[INFO] [stdout]     |
[INFO] [stdout] 332 |         let metadata = fs::metadata(&path).unwrap();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record1`
[INFO] [stdout]    --> crates/storage/src/signing_state.rs:253:13
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let record1 = state.sign_transfer(0, 1, 100, 0, &postings);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_record1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/storage/src/ls_file_header.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let mut header = LsFileHeader::new(true, 4, 1 << 30, 42, 0xDEAD_BEEF, false);
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_path`
[INFO] [stdout]  --> crates/storage/src/no_metadata_strategy.rs:6:25
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn file_info(&self, file_path: &str) -> Option<(String, usize)> { None }
[INFO] [stdout]   |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_seq`
[INFO] [stdout]  --> crates/storage/src/no_metadata_strategy.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn prepare_header(&mut self, file_seq: u64, max_file_size: u64) -> Option<(*const u8, usize, u64)> { None }
[INFO] [stdout]   |                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_seq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_file_size`
[INFO] [stdout]  --> crates/storage/src/no_metadata_strategy.rs:8:49
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn prepare_header(&mut self, file_seq: u64, max_file_size: u64) -> Option<(*const u8, usize, u64)> { None }
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_file_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/storage/src/recovery.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         unsafe { header.as_bytes_mut() }
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx_header_size`
[INFO] [stdout]   --> crates/storage/src/index_builder.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         idx_header_size: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx_header_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/storage/src/posting_scan_visitor.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |             if !unsafe { record.verify_checksum() } {
[INFO] [stdout]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/storage/src/posting_scan_visitor.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 unsafe { record.compute_checksum(); }
[INFO] [stdout]     |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/storage/src/signature_verifier.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut offset = LsSignFileHeader::DATA_OFFSET as u64;
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> crates/storage/src/signature_verifier.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut offset = LsSignFileHeader::DATA_OFFSET as u64;
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/storage/src/signature_verifier.rs:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |             unsafe { posting.compute_checksum(); }
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/storage/src/signature_verifier.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let mut posting = PostingRecord::new(
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]  --> crates/storage/src/file_protection.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 |         |error| {
[INFO] [stdout]   |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FileWatcherMetrics` is more private than the item `FileWatcherHandles::metrics`
[INFO] [stdout]    --> crates/storage/src/file_watcher.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub metrics: Arc<FileWatcherMetrics>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `FileWatcherHandles::metrics` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `FileWatcherMetrics` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> crates/storage/src/file_watcher.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 | struct FileWatcherMetrics {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `buffer_arena`, `collecting_capacity`, `in_flushing_capacity`, and `index_entries_arena` are never read
[INFO] [stdout]    --> crates/storage/src/ls_writer.rs:48:5
[INFO] [stdout]     |
[INFO] [stdout]  34 | pub struct LsWriter<T: FlushBackend, S: SigningStrategy, M: MetadataStrategy> {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  48 |     buffer_arena: ringbuf::arena::Arena,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     collecting_capacity: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     in_flushing_capacity: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     index_entries_arena: ringbuf::arena::Arena,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open_files` and `recover_checkpoint_state` are never used
[INFO] [stdout]    --> crates/storage/src/ls_writer.rs:709:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl<T: FlushBackend, S: SigningStrategy + Send, M: MetadataStrategy + Send> LsWriter<T, S, M> {
[INFO] [stdout]     | ---------------------------------------------------------------------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 709 |     fn open_files(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 955 |     fn recover_checkpoint_state(checkpoint_path: &str) -> (u64, u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `meta_buffer_arena` is never read
[INFO] [stdout]  --> crates/storage/src/posting_metadata_strategy.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct PostingMetadataStrategy {
[INFO] [stdout]   |            ----------------------- field in this struct
[INFO] [stdout] 7 |     record_writer: MetaRecordWriter,
[INFO] [stdout] 8 |     meta_buffer_arena: ringbuf::arena::Arena,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `recheck_depth_files` and `recheck_depth_days` are never read
[INFO] [stdout]   --> crates/storage/src/file_watcher.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct FileWatcher{
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 69 |     recheck_depth_files: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     recheck_depth_days: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at_ns` is never read
[INFO] [stdout]   --> crates/storage/src/file_watcher.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct WatchedFile {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 94 |     created_at_ns: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `alarms_fired` is never read
[INFO] [stdout]    --> crates/storage/src/file_watcher.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout]  98 | struct FileWatcherMetrics {
[INFO] [stdout]     |        ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub alarms_fired: AtomicU64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `perform_startup_verification` is never used
[INFO] [stdout]    --> crates/storage/src/file_watcher.rs:562:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | impl FileWatcher {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 562 |     fn perform_startup_verification(&mut self, count: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECONDS_PER_HOUR` is never used
[INFO] [stdout]  --> crates/storage/src/time_utils.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const SECONDS_PER_HOUR: u32 = 60 * 60;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECONDS_PER_DAY` is never used
[INFO] [stdout]  --> crates/storage/src/time_utils.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const SECONDS_PER_DAY: u32 = SECONDS_PER_HOUR * 24;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/storage/src/file_protection.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         protect_rotated_files(&ls_path, true, true, true);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let _ = protect_rotated_files(&ls_path, true, true, true);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/storage/src/file_protection.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout] 341 |         protect_rotated_files("/tmp/nonexistent-ls", false, false, true);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let _ = protect_rotated_files("/tmp/nonexistent-ls", false, false, true);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "493ed67d447641f1b69483b2f8b56c7b12d6858350c413f120f33720f53e6e9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "493ed67d447641f1b69483b2f8b56c7b12d6858350c413f120f33720f53e6e9d", kill_on_drop: false }`
[INFO] [stdout] 493ed67d447641f1b69483b2f8b56c7b12d6858350c413f120f33720f53e6e9d
